package file.handle;

import file.model.FileModel;
import file.model.FileTransferModel;

import java.util.List;

/**
 * 文件处理中心
 * @author zou
 */
public interface FileHandle {

    /**
     * 创建文件
     * @param fileModel
     * @return
     */
    Boolean createFile(FileModel fileModel);

    /**
     * 创建文件夹
     * @param fileModel
     * @return
     */
    Boolean createFolder(FileModel fileModel);

    /**
     * 修改文件名字
     * @param originalFile 原文件
     * @param newFile 新文件
     * @return
     */
    Boolean changeFileName(FileModel originalFile, FileModel newFile);

    /**
     * 复制文件
     * @param fileModel
     * @param toPath 复制到那个路径下
     * @return
     */
    Boolean copyFile(FileModel fileModel, String toPath) ;

    /**
     * 把文件流读到内存中
     * @param fileModel
     * @return
     */
    List<FileTransferModel> inputFile(String fileModel);

    /**
     * 删除文件
     * @param fileModel
     * @return
     */
    Boolean removeFile(String fileModel);

    /**
     * 剪切文件
     * @param path
     */
    void shearFile(String path);
}
